From f39f644fb24a3398bd5a6786f0083eb1b3c51164 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Javier=20Jard=C3=B3n?= Date: Mon, 30 Nov 2009 04:51:58 +0100 Subject: [PATCH] Move GtkAccelGroup private structure to shared header file Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602174 --- gtk/Makefile.am | 1 + gtk/gtkaccelgroup.c | 10 +--------- gtk/gtkaccelgroupprivate.h | 36 ++++++++++++++++++++++++++++++++++++ gtk/gtkwindow.c | 4 ++-- gtk/gtkwindow.h | 2 ++ 5 files changed, 42 insertions(+), 11 deletions(-) create mode 100644 gtk/gtkaccelgroupprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 4fd101485b..748dd65d56 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -166,6 +166,7 @@ gtk_public_h_sources = \ gtkaccessible.h \ gtkaction.h \ gtkactiongroup.h \ + gtkaccelgroupprivate.h \ gtkactivatable.h \ gtkadjustment.h \ gtkalignment.h \ diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 86f9b91bfd..b920f8ea73 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -29,6 +29,7 @@ #include #include "gtkaccelgroup.h" +#include "gtkaccelgroupprivate.h" #include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */ #include "gtkaccelmap.h" #include "gtkintl.h" @@ -64,15 +65,6 @@ #define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate)) -struct _GtkAccelGroupPrivate -{ - guint lock_count; - GdkModifierType modifier_mask; - GSList *acceleratables; - guint n_accels; - GtkAccelGroupEntry *priv_accels; -}; - /* --- prototypes --- */ static void gtk_accel_group_finalize (GObject *object); static void gtk_accel_group_get_property (GObject *object, diff --git a/gtk/gtkaccelgroupprivate.h b/gtk/gtkaccelgroupprivate.h new file mode 100644 index 0000000000..af42d13b3f --- /dev/null +++ b/gtk/gtkaccelgroupprivate.h @@ -0,0 +1,36 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* GTK - The GIMP Toolkit + * Copyright (C) Javier Jardón + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_ACCEL_GROUP_PRIVATE_H__ +#define __GTK_ACCEL_GROUP_PRIVATE_H__ + + +#define GTK_ACCEL_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_ACCEL_GROUP, GtkAccelGroupPrivate)) + +struct _GtkAccelGroupPrivate +{ + guint lock_count; + GdkModifierType modifier_mask; + GSList *acceleratables; + guint n_accels; + GtkAccelGroupEntry *priv_accels; +}; + +#endif /* __GTK_ACCEL_GROUP_PRIVATE_H__ */ diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 97867f5f1e..8ddf8701b9 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8167,9 +8167,9 @@ _gtk_window_keys_foreach (GtkWindow *window, GtkAccelGroup *group = groups->data; gint i; - for (i = 0; i < group->n_accels; i++) + for (i = 0; i < group->priv->n_accels; i++) { - GtkAccelKey *key = &group->priv_accels[i].key; + GtkAccelKey *key = &group->priv->priv_accels[i].key; if (key->accel_key) (*func) (window, key->accel_key, key->accel_mods, FALSE, func_data); diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index f706e48e78..22753fcd0e 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -35,6 +35,8 @@ #include #include +#include "gtk/gtkaccelgroupprivate.h" + G_BEGIN_DECLS -- 2.30.2